Adds Security Champion chat / agent mode to provide comprehensive security guidance by integrating Microsoft's Security Development Lifecycle (SDL) practices alongside existing OWASP frameworks.#408
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #408 +/- ##
==========================================
- Coverage 85.36% 85.34% -0.03%
==========================================
Files 23 23
Lines 4475 4475
==========================================
- Hits 3820 3819 -1
- Misses 655 656 +1
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR adds a Security Champion agent and comprehensive OWASP security instruction files to integrate Microsoft's Security Development Lifecycle (SDL) practices alongside existing OWASP frameworks. The PR introduces security guidance across the development lifecycle, from design through runtime, with detailed coding standards for both traditional web applications and LLM-specific security concerns.
Changes:
- Adds Security Champion conversational agent for security-focused code review and advisory
- Introduces comprehensive OWASP Top 10 secure coding instructions for web applications
- Adds OWASP Top 10 for LLM Applications (2025) secure coding instructions for AI/ML security
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 14 comments.
| File | Description |
|---|---|
.github/agents/security-champion.agent.md |
New conversational agent that serves as a security advisor, integrating Microsoft SDL practices with OWASP frameworks to guide security reviews across all development stages |
.github/instructions/owasp-for-web-applications.instructions.md |
New instruction file providing comprehensive secure coding guidelines based on OWASP Top 10, covering vulnerabilities from access control to SSRF |
.github/instructions/owasp-for-llms.instructions.md |
New instruction file providing LLM-specific security guidelines based on OWASP Top 10 for LLM Applications (2025), covering prompt injection, data leakage, and other AI-specific risks |
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/security/owasp-for-web-applications.instructions.md
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
|
Hi! A small request: could you update the PR title to include the conventional commit format with scope? This ensures release-please picks it up correctly for the changelog. Suggested: `feat(agents): add security champion agent with Microsoft SDL practices Thanks! |
katriendg
left a comment
There was a problem hiding this comment.
Thanks for your contribution. This is valuable, there are a few optimizations I feel are relevant before we merge.
- Please re-run the
/prompt-analyseorprompt-builderagent again and ensure you add your new files to the context, and ask it to review your three files for recommendations. There are several open recommendations you can still apply before we merge. - Evaluate the usage of the
.instructions.mdfiles andapplyTo. Is it possible to merge into the custom agent instead? Especially for the LLM application instructions we do not want to enforce this upon every single edit of applicable files. Again here the Task-Researcher and/or Prompt Builder agents may help you refactor some of this in an efficient way. ## Required Phasesgiven this agent has specific phases (in your case Stages), you should be able to easily reformat the agent to follow the phases approach. Also prompt-builder may do this for you.
Hope these make sense!
.github/instructions/owasp-for-web-applications.instructions.md
Outdated
Show resolved
Hide resolved
|
Thanks for your changes, I think this is looking good for an initial inclusion into |
.github/instructions/security/owasp-for-web-applications.instructions.md
Show resolved
Hide resolved
.github/instructions/security/owasp-for-web-applications.instructions.md
Show resolved
Hide resolved
.github/instructions/security/owasp-for-web-applications.instructions.md
Show resolved
Hide resolved
…M applications - include OWASP Top 10 for LLM Applications (2025) security practices - outline responsibilities and areas to inspect during development stages - emphasize security champion mindset and ongoing threat awareness 🔒 - Generated by Copilot
…nd tools list 🔒 - Generated by Copilot
- clarify the directive for secure coding practices - emphasize the importance of a security-first mindset - enhance instructions for code reviews and security education 🔒 - Generated by Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…curity champion agent documentation 🔒 - Generated by Copilot
…hampion agent documentation 🔒 - Generated by Copilot
- enhance clarity and structure of security instructions - add maturity status to both documents - improve emphasis on security principles and practices - refine sections for better readability and understanding 🔒 - Generated by Copilot
… guidelines 🔒 - Generated by Copilot
…d guidance and handoffs - add security-focused code review purpose and workflow - include core frameworks and areas covered for security champion agent - remove maturity status from OWASP instructions for LLM and web applications 🔒 - Generated by Copilot
…arity and structure - redefine inspection areas as required phases - clarify flow through development lifecycle phases - enhance guidance for security reviews and reporting 🔒 - Generated by Copilot
- Remove tools frontmatter to let users choose available tools - Elaborate agent description for Extension UI visibility - Add #file: references for OWASP instructions so Copilot follows paths - Add maturity: experimental to both OWASP instruction files - Convert bolded-prefix list items to plain text in LLM instructions - Convert embedding inversion defense list to prose
…tore web applications guidelines - introduce OWASP Top 10 for LLM Applications with detailed security measures - restore comprehensive secure coding instructions for web applications - ensure clear communication of security practices and principles 🔒 - Generated by Copilot
…uctions.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…uctions.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
673ade6 to
c8e2456
Compare
.github/instructions/security/owasp-for-web-applications.instructions.md
Show resolved
Hide resolved
| @@ -0,0 +1,226 @@ | |||
| --- | |||
| description: "Comprehensive secure coding instructions for all languages and frameworks, based on OWASP Top 10 and industry best practices. Give clear and concise feedback and points of improvement." | |||
| maturity: experimental | |||
There was a problem hiding this comment.
The frontmatter includes a maturity field, which is not allowed according to the instruction-frontmatter.schema.json schema. The schema defines additionalProperties: false and only allows description, name, and applyTo fields. Maturity is tracked in collection manifest items (collections/*.collection.yml), not in individual artifact frontmatter. Remove the maturity field from this frontmatter and instead add this file to an appropriate collection manifest with the maturity specified there.
| maturity: experimental |
| --- | ||
| description: "When generating, reviewing, or refactoring code that interacts with Large Language Models (LLMs), read and follow these OWASP Top 10 for LLM Applications (2025) secure coding guidelines to protect against prompt injection, data leakage, and LLM-specific vulnerabilities. Apply these instructions to any LLM integration, agent framework, RAG pipeline, or AI-powered feature. Provide clear and concise security feedback and points of improvement." | ||
| applyTo: '**/*' | ||
| maturity: experimental |
There was a problem hiding this comment.
The frontmatter includes a maturity field, which is not allowed according to the instruction-frontmatter.schema.json schema. The schema defines additionalProperties: false and only allows description, name, and applyTo fields. Maturity is tracked in collection manifest items (collections/*.collection.yml), not in individual artifact frontmatter. Remove the maturity field from this frontmatter and instead add this file to an appropriate collection manifest with the maturity specified there.
| maturity: experimental |
…b applications and LLMs 🔒 - Generated by Copilot
🔒 - Generated by Copilot
Pull Request
Description
Related Issue(s)
#416
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
prompt-builderagent and addressed all feedback.github/instructions/*.instructions.md).github/prompts/*.prompt.md).github/agents/*.agent.md)Sample Prompts and Usage
Checklist
Required Checks
AI Artifact Contributions
/prompt-analyzeto review contributionprompt-builderreviewRequired Automated Checks
The following validation commands must pass before merging:
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run lint:md-linksnpm run lint:psSecurity Considerations
Additional Notes